home *** CD-ROM | disk | FTP | other *** search
- #ifndef RENDER_H
- #define RENDER_H
-
- extern int type;
- extern int model;
-
- extern unsigned char *visibleFaces; /*[MAX_MAP_FACES / 8 + 1]; */
- extern unsigned char *visibleLeafs; /*[MAX_MAP_LEAFS / 8 + 1]; */
- extern unsigned char *visibleNodes; /*[MAX_MAP_NODES]; */
-
- #define is_marked_leaf(x) (visibleLeafs[(x) >> 3] & (1 << ((x) & 7)))
- #define is_marked_node(x) (visibleNodes[(x) >> 3] & (1 << ((x) & 7)))
- #define is_marked_face(x) (visibleFaces[(x)])
- #define mark_leaf(x) (visibleLeafs[(x) >> 3] |= (1 << ((x) & 7)))
- #define mark_node(x) (visibleNodes[(x) >> 3] |= (1 << ((x) & 7)))
- #define mark_face(x) (visibleFaces[(x)] = contents)
- #define unmark_leaf(x) (visibleLeafs[(x) >> 3] &= ~(1 << ((x) & 7)))
- #define unmark_node(x) (visibleNodes[(x) >> 3] &= ~(1 << ((x) & 7)))
- #define unmark_face(x) (visibleFaces[(x)] = 0)
-
- bool leaf_in_frustrum(register struct dleaf_t *node);
- bool node_in_frustrum(register struct dnode_t *node);
-
- void mark_leaf_faces(__memBase, register short int leaf);
- void render_node_faces(__memBase, register short int node, register short int side);
- void renderWorld(__memBase);
- int visit_visible_leaves(__memBase);
-
- #endif
-